/**
 * 获取字符串的长度ascii长度为1 中文长度为2
 * @param str
 * @returns {number}
 */
 export const getStrFullLength = (str = '') =>
 str.split('').reduce((pre, cur) => {
   const charCode = cur.charCodeAt(0)
   if (charCode >= 0 && charCode <= 128) {
     return pre + 1
   }
   return pre + 2
 }, 0)

/**
* 给定一个字符串和一个长度,将此字符串按指定长度截取
* @param str
* @param maxLength
* @returns {string}
*/
export const cutStrByFullLength = (str = '', maxLength) => {
 let showLength = 0
 return str.split('').reduce((pre, cur) => {
   const charCode = cur.charCodeAt(0)
   if (charCode >= 0 && charCode <= 128) {
     showLength += 1
   } else {
     showLength += 2
   }
   if (showLength <= maxLength) {
     return pre + cur
   }
   return pre
 }, '')
}

// 下划线转换驼峰
export function underLinetoHump(name) {
 return name.replace(/\_(\w)/g, function(all, letter){
   return letter.toUpperCase();
 });
}
// 驼峰转换下划线
export function humptoUnderLine(name) {
 return name.replace(/([A-Z])/g,"_$1").toLowerCase();
}